package service.calculator.aristocrat;

import service.calculator.PaymentType;

public enum AristocratPaymentType implements PaymentType {

    BASIC("Basic", "Basic Regular Hours"),
    OT("OT", "Overtime"),
    LHOT("LHOT", "Legal Holiday OT"),
    SHOT("SHOT","Special Holiday OT"),
    SHRT("SH (premium)", "Special Holiday (premium)"),
    RDRT("RD", "Rest Day"),
    RDOT("RDOT", "Rest Day OT"),
    RDLH("RDLH", "Rest Day Legal Holiday"),
    RDSH("RDSH", "Rest Day Special Holiday"),
    NDRT("ND", "Night Differential"),
    NDSH("NDSH", "Night Differential Special Holiday"),
    NDLH("NDLH", "Night Differential Legal Holiday"),
    HP("HP", "Holiday Pay"),
    ECOLA("ECOLA", "ECOLA"),
    ADJ("Adj (value)", "Adjustment (value)"),
    ADJ_RT("Adj RT", "Adjustment RT"),
    ADJ_OT("Adj OT", "Adjustment OT"),
    ADJ_NDRT("Adj ND", "Adjustment ND"),
    ADJ_HP("Adj HP", "Adjustment HP"),
    ADJ_LHOT("Adj LHOT", "Adjustment LHOT"),
    ADJ_SHRT("Adj SH", "Adjustment SH"),
    ADJ_SHOT("Adj SHOT", "Adjustment SHOT"),
    ADJ_RDRT("Adj RD", "Adjustment RD"),
    ADJ_RDOT("Adj RDOT", "Adjustment RDOT");

    private String label;

    private String description;

    private AristocratPaymentType(String label, String description) {
        this.label = label;
        this.description = description;
    }

    public String getLabel() {
        return label;
    }

    public String getDescription() {
        return description;
    }

    public String getName() {
        return this.name();
    }

}
